package org.pleasantnightmare.acake.operatormethod;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Operator methods are required to return 'this' as output, so that multiple
 * operators can be chained onto the same object.
 * <p/>
 * Example:
 * <p/>
 * <code>
 * Number a = new Number(0);<br/>
 * a.add(1).mul(5).div(2.5);
 * </code>
 *
 * @author deus
 * @version 1.0
 * @since Nov 17, 2009 10:53:19 AM
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Operator {
}
